/**
 * Author: Balaram Putta
 * Date: Oct 21, 2003
 * Time: 3:00:41 PM
 */
package com.scalar.chiptrack.actioncommands;


import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.Action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.scalar.chiptrack.commons.ErrorMessages;
import com.scalar.chiptrack.commons.InfoMessages;
import com.scalar.chiptrack.commons.SessionKeys;
import com.scalar.chiptrack.commons.Constants;



/**
 * Abstraction for ActionCommand Objects. All action command
 * processor objects need to implement this interface.
 *
 * @author Balaram Putta
 * @version
 */
public abstract class ActionCommand extends Action implements ErrorMessages, InfoMessages, SessionKeys, Constants
{

    // Modified by Rohan on 28 Oct 2003.
    //Signature of the execute method has been changed according to the new
    //architecture.
    //setters and getters have been removed

    /**
     * This method has to be implemented by all Command classes to be called by ACTION classes
     *
     * @throws Exception
     */
    public abstract ActionForward execute( ActionMapping mapping,
                                         ActionForm form,
                                         HttpServletRequest request,
                                         HttpServletResponse response ) throws Exception;


}